import numpy as np
from python_ai.common.xcommon import sep

X = ['我 是 皮 大 狗。',
     '你 是 吴 小 棉。',
     '我 的 系 统 版 本 都 是 狗 的 品 种 名………… 。。。。',
     '第 一 版 叫 哈 士 奇！',
     '第 二 版 叫 白 金 毛！！！']

sep('tf')
from sklearn.feature_extraction.text import CountVectorizer
tf_model = CountVectorizer(token_pattern='[a-zA-Z\u4e00-\u9fa5]+')
tf = tf_model.fit_transform(X).A
print(tf_model.get_feature_names())
print(tf)

sep('tf-idf')
from sklearn.feature_extraction.text import TfidfVectorizer
tf_idf_model = TfidfVectorizer(norm=None,
                               token_pattern='[a-zA-Z\u4e00-\u9fa5]+')
tf_idf = tf_idf_model.fit_transform(X).A
print(tf_idf_model.get_feature_names())
print(tf_idf)

sep('tf-idf my impl')
from python_ai.ML_2.bayes.follow_teacher.x_tf_idf_deeper_again import TfidfMyImpl
tf_idf_my_model = TfidfMyImpl(token_pattern='[a-zA-Z\u4e00-\u9fa5]+')
tf_idf_my = tf_idf_my_model.fit_transform(X)
print(tf_idf_my_model.get_feature_names())
print(tf_idf_my)

print(np.unique(np.equal(tf_idf, tf_idf_my)))
